package com.kaifamiao.www.demo.Do29.pm;

public class Demo01 {
    public static void main(String[] args) {
       // Sup sup = new Sup();

//    sup.instanceMethod();
//    sup.staticMethod();//不应该通过类实例访问静态成员
//    Sub sub = new Sub();
//    sub.instanceMethod();
//    sub.staticMethod();
        // 隐藏
        // 创建一个 子类对象，赋值给 父类变量
       Sup sup = new Sub();
       /*
     父类变量引用子类对象时
        调用实例方法，执行子类中的方法
        调用static方法，执行父类中的方法
      执行static方法看等号左边（变量的类型）
      执行实例方法看等号右边（对象的类型）
     */
       sup.instanceMethod();
       sup.staticMethod();

    /*
        父类变量引用子类对象时
         调用变量时，调用的是父类的字段
     */
        System.out.println(sup.a);
        System.out.println(sup.b);
    }
}
